home *** CD-ROM | disk | FTP | other *** search
/ Aminet 8 / Aminet 8 (1995)(GTI - Schatztruhe)[!][Oct 1995].iso / Aminet / dev / gui / gutil_dev_3652.lha / GadUtil.readme < prev   
Text File  |  1995-06-26  |  12KB  |  229 lines

  1. Short:    GUI creation library (small & fast)
  2. Author:   P-O Yliniemi / Staffan Hämälä
  3. Uploader: P-O Yliniemi
  4. Type:     dev/gui
  5.  
  6. This library is currently in its ßeta testing stage. The only thing that
  7. is missing is some of the docs. All advanced functions are described, and
  8. all less advanced functions have at least a short usage docs.
  9.  
  10. Some examples may have weird names (for those who don't understand swedish),
  11. and some text files may be in swedish. This will be fixed for next release.
  12.  
  13. Two versions of the .library file is available with this developer package.
  14. One is the "normal" library, and the other one prints out a lot of info when
  15. executing a program that uses GadUtil.
  16.  
  17. If you need to use the debug version, rename the normal version in libs:,
  18. copy the debug version to libs, and rename it to gadutil.library. Reverse
  19. this to change back to the normal version. Don't forget to "flush" all
  20. unused libraries or reboot before testing the program again.
  21.  
  22. All necessary files for Asm & C development are included.
  23.  
  24.                                           P-O 950626
  25.                                           ~~~~~~~~~~
  26.  
  27. ;----------------------------------------------------------------------------
  28.  
  29.                             GadUtil.library v36.52
  30.                             ~~~~~~~~~~~~~~~~~~~~~~
  31.     GadUtil is another gui library which main goal was to make it easy to
  32.     create font sensitive user interfaces. The library has grown away from
  33.     this main goal, and become another useful-routine-library.
  34.  
  35.   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  36.     Distribution:
  37.  
  38.         1) Distribution of this library is allowed in two ways:
  39.              ¹) Only the .library file
  40.              ²) The complete distribution
  41.  
  42.         2) Programmers of totally free software can use and distribute this
  43.           library for free.
  44.  
  45.         3) Programmers of Shareware, Licensware, commercial products and other
  46.            programs that the programmer get any kind of profit from shall send
  47.            a fully working (and registered) copy of the program and its docs to
  48.            us. All larger updates of the program should also be sent to us.
  49.           
  50.         4) Programmers of non-free software not covered by 1) and 2) (my Diskware
  51.            concept belongs to this group) shall be treated as in 3) (a fully
  52.            working and registered copy...).
  53.  
  54.         5) All programs (except commercial products in some cases) must state
  55.            that gadutil.library is used. This may be done in either the About
  56.            requester or in the documentation, but best of all in both places.
  57.  
  58.            Demonstration programs for gadutil.library (that includes the full
  59.            source) may be distributed without this note.
  60.  
  61.            Example for inclusion in About requester:
  62.  
  63.                 "This program uses gadutil.library, which
  64.                  is Copyright © 1994-1995 by P-O Yliniemi
  65.                  and Staffan Hämälä."
  66.  
  67.         6) All localized programs that uses this library should include the
  68.            .ct file(s) to allow anyone to translate that program into their
  69.            own language.
  70.  
  71.  
  72.   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  73.     Below is a list of some of the main functions covered by this library.
  74.  
  75.     * FAST (NO OR VERY SMALL DIFFERENCE AGAINST GADTOOLS) AND SMALL (LESS THAN 10k).
  76.       WRITTEN IN ASSEMBLY LANGUAGE. NO F*CKING 'C' or any other slow language!
  77.  
  78.     * Font adaptive. Use any of the system fonts and most other fonts for
  79.       gadgets, texts and menus. All gadgets are placed relative to each
  80.       other, but can be placed at absolute positions (needed for the first
  81.       gadget).
  82.  
  83.     * No need to use GIMMEZEROZERO windows, as this is automatically handled
  84.       by the library. If you specify a gadget position of 10,10 the gadget
  85.       will be placed at 10,10 within the window's border.
  86.  
  87.     * Localized. It is really easy to localize all your (new) programs by
  88.       using this library. Functions and macros for creating localized menus
  89.       are supplied.
  90.  
  91.     * Both assembly and 'C' language support. This is one of the things that is
  92.       missing in most of the other gui libraries. Some extra macros are defined
  93.       for assembly language users, and will make the gadget and menu creating
  94.       process even more easy.
  95.  
  96.     * All GadTools gadgets are supported. Some extra functions are provided
  97.       for ListViews. BUTTON_KIND (and IMAGE_KIND) gadgets have some extra tags,
  98.       including a toggle-select option.
  99.  
  100.       4 extended gadget types are handled by the library:
  101.     
  102.         · FILE_KIND     - gadget for selecting a file.
  103.  
  104.         · DRAWER_KIND   - gadget for selecting a drawer. Most programs also
  105.                          use this gadget for file selection.
  106.  
  107.         · IMAGE_KIND    - uses an intuition image for the gadget. Can use
  108.                           different images for selected and non-selected state.
  109.  
  110.         · BEVELBOX_KIND - gadtools bevelboxes, with some extensions. All
  111.                           gadtools bevelboxes are supported (even with v37).
  112.                           Extensions allows text to be placed above, in or below
  113.                           the upper line of the box. All kinds can be inverted.
  114.  
  115.                           New for v36.52: Bevelbox text placement extended.
  116.                           3 new placements available together with the old
  117.                           ones: centered, left adjusted & right adjusted.
  118.  
  119.                           BFT_BUTTON   - GT v37 BUTTON_KIND border
  120.                           BFT_RIDGE    - GT v37 STRING_KIND border
  121.                           BFT_DROPBOX  - GT v39 BBFT_ICONDROPBOX border
  122.                           BFT_HORIZBAR - A horizontal shadowed line
  123.                           BFT_VERTBAR  - A vertical shadowed line
  124.  
  125.                           This makes it a total of 100 bevel box types. The bevel
  126.                           boxes are treated as gadgets by the library, and you
  127.                           can obtain the structure for the bevelbox in the same
  128.                           way as you get the gadget pointer.
  129.  
  130.     * A new OpenFont (graphics.library and diskfont.library replacement) is supplied.
  131.       This function will open any font (from RAM, ROM or load it from disk).
  132.  
  133.     * Functions for listviews include adding nodes (memory for the string is
  134.       allocated by the function), counting nodes, getting node pointers, clearing
  135.       a listview, attach and detach lists, moving nodes up and down.
  136.  
  137.     * No need to open gadtools.library anymore, since all gadtools functions are
  138.       provided through this library. Some (the most useable) functions from locale
  139.       library are also provided by gadutil.
  140.  
  141.     * Many libraries are opened through gadutil.library, and these library bases
  142.       are available for your own use (you don't have to open or close some libs).
  143.  
  144.     * All gadgets are created using tag lists. Every next gadget will use the
  145.       previous gadgets values as defaults. Only one call to the gadget making
  146.       routine is needed for every gadget list.
  147.  
  148.     * All gadgets can have their own hotkey. No extra work is needed by the
  149.       programmer (only one extra tag).
  150.  
  151.     * Distributed with lots of examples, mostly in assembly language, but also
  152.       in 'C'.
  153.  
  154.     * Other functions include:
  155.  
  156.         · Status change for toggle select buttons.
  157.  
  158.         · String change for STRING and TEXT_KIND gadgets.
  159.  
  160.         · Disable functions for gadgets that support the GA_Disabled tag.
  161.  
  162.         · Routines to set up a busy-pointer (available for bot v37 and v37). These
  163.           routines also blocks the input to the main window of the program.
  164.  
  165.         · Routine to check if the mouse pointer is within a gadgets box. Useful
  166.           for mouse-position sensitive appwindows.
  167.  
  168.         · Bevelbox and window refreshing functions.
  169.  
  170.     * FAST (NO OR VERY SMALL DIFFERENCE AGAINST GADTOOLS) AND SMALL (LESS THAN 10k).
  171.       WRITTEN IN ASSEMBLY LANGUAGE. NO F*CKING 'C' or any other slow language!
  172.  
  173.  
  174.   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  175.   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  176.     Who did what?
  177.     ~~~~~~~~~~~~~
  178.     This library has been tested from even before it became a library
  179.     (back in Nov-94) up to now all bugs that were found has been removed.
  180.     There might be a slight possibility that the library, even after this
  181.     long test perioc contains some bugs. Here is a list of which routines
  182.     and files who of us is "responsible" for bugs in:
  183.  
  184.     Functions: (SH = Staffan, PO = me, empty = no func/no docs, -- = noone)
  185.     
  186.                             Func Docs                            Func Docs
  187.     GU_LayoutGadgetsA        SH   PO    01.GU_PreliminaryDocs          PO
  188.     GU_FreeLayoutGadgets     SH   --    00.TableOfContents             PO
  189.     GU_SetGadgetAttrsA       PO   PO    GU_CreateGadgetA          PO   PO
  190.     GU_GetIMsg               PO   PO    GU_CountNodes             PO   PO
  191.     GU_GadgetArrayIndex      SH   --    GU_BlockInput             PO   PO
  192.     GU_FreeInput             PO   PO    GU_FreeGadgets            PO   PO
  193.     GU_SetGUGadAttrsA        SH   --    GU_CoordsInGadBox         PO   PO
  194.     GU_GetGadgetPtr          PO   PO    GU_TextWidth              SH   PO
  195.     GU_GetLocaleStr          SH   PO    GU_CreateLocMenuA         PO   PO
  196.     GU_OpenCatalog           PO   PO    GU_CloseCatalog           PO   PO
  197.     GU_DisableGadget         PO   --    GU_SetToggle              PO   --
  198.     GU_RefreshBoxes          PO   --    GU_RefreshWindow          PO   PO
  199.     GU_OpenFont              PO   --    GU_NewList                PO   --
  200.     GU_ClearList             PO   --    GU_DetachList             PO   --
  201.     GU_AttachList            PO   --    GU_AddTail                PO   --
  202.     GU_ChangeStr             PO   --    GU_CreateContext          PO   --
  203.     GU_GetGadgetAttrsA       PO   --    GU_CreateMenusA           PO   --
  204.     GU_FreeMenus             PO   --    GU_LayoutMenuItemsA       PO   --
  205.     GU_LayoutMenusA          PO   --    GU_GetVisualInfoA         PO   --
  206.     GU_FreeVisualInfo        PO   --    GU_BeginRefresh           PO   --
  207.     GU_EndRefresh            PO   --    GU_FilterIMsg             PO   --
  208.     GU_PostFilterIMsg        PO   --    GU_ReplyIMsg              PO   PO
  209.     GU_DrawBevelBoxA         PO   --    GU_FindNode               PO   --
  210.     GU_NodeUp                PO   --    GU_NodeDown               PO   --
  211.     GadUtil.manual                SH    GUtilInfo.txt                  PO
  212.     PrivateFunctions              PO
  213.  
  214.   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  215.   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  216.         Per-Olof Yliniemi                           Staffan Hämälä
  217.         Muoniovaara                                 Pellovägen 268
  218.         S-980 64 Muodoslompolo                      S-957 93 Pello
  219.         SWEDEN                                      SWEDEN
  220.  
  221.         email:                                      email:
  222.           P-O_Yliniemi@spectre.talshiar.pp.se         < no address for now >
  223.  
  224.         Don't send programs through e-mail, since I have no way to regulary check
  225.         my mail!
  226.  
  227.   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  228.   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  229.